package com.webService.tool;

import java.net.URL;

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;

/**
 * 实现 webservice 接口调用的方式有三种：
 *  1、直接AXIS调用远程的web service。本Demo使用的就是这种方法
 *      写法比较简单 通用性比较好。
 *  2、使用SOAP调用远程的webservice 。
 *        import org.apache.soap.util.xml.*;
 *        import org.apache.soap.*;
 *        import org.apache.soap.rpc.*;
 *
 *  3、把WSDL文件转成本地类，然后像本地类一样使用。
 *       使用起来比较简单，代码值针对固定接口，无法写成通用工具类。
 *
 */
public class TestInterface
{
  public String post(String url, String action, String context)
          throws Exception
  {
    System.out.println("》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》");
    System.out.println("请求地址：" + url);
    System.out.println("请求报文：" + context);

    Service service = new Service();
    Call call = (Call)service.createCall();
    call.setTargetEndpointAddress(new URL(url));
    call.setOperationName(action);
    String res = (String)call.invoke(new Object[] { context });
    System.out.println("响应结果：" + res);
    System.out.println("》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》");
    return res;
  }
}